Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
A Common Language Infrastructure (CLI) a .NET keretrendszer a különböző programozási nyelven írt programok futtatására szolgáló alrendszere. A megjelenése előtt minden nyelvnek saját futtató modulja volt, hogy a lefordított alkalmazás működhessen – a Visual Basic-nek a VBVM-re, a Visual C++ .NET megjelenése előtti Visual C++ verzióknak az MSVCRT DLL-re. A common language infrastructure egy próbálkozás ezen futtató modulok egyesítésére. Kezdeményezője a Microsoft, azóta már az ISO[1] és az ECMA[2] szabályozza.
A CLI egy osztálykönyvtárat és virtuális gépet használ – a Common Language Runtime-ot (CLR). Sok fordító már képes kódot előállítani erre a virtuális gépre. Az előállított kódot Common Intermediate Language-nek (CIL) (korábban MSIL) nevezik. Ez egy CPU-független utasításkészlettel rendelkező nyelv, ami hatékonyan fordítható natív kóddá. A CIL egy magas szintű objektumorientált, verem-alapú assembly nyelvként képzelhető el.
A CIL a Java bájtkód versenytársának, a CLI/CLR pedig a Java Runtime Environment (JRE) versenytársának tekinthető. A .NET Framework, Mono, DotGNU és Portable.NET a CIL implementációja.